rfc: document or-slots and xor-slots in jobspec specifications - #534
zekemorton wants to merge 2 commits into
Conversation
|
|
|
@milroy do you mind giving this a first pass when you get a chance? |
milroy
left a comment
There was a problem hiding this comment.
Looks good so far! Please add a bit more description where I indicated. After that this is good to merge as far as I'm concerned!
| A resource type of ``type: xor_slot`` SHALL indicate an exclusive alternative | ||
| resource grouping that is expanded into distinct jobspec branches before |
There was a problem hiding this comment.
I think you want to disambiguate the "exclusive" adjective here as we'll soon support non-exclusive resources in a slot. This statement should make it clear that exactly one of the XOR slots will be allocated or reserved.
| internally, and the flexible traverser tries the expanded branches sequentially | ||
| until a match is found (first-match strategy). |
There was a problem hiding this comment.
You may want to emphasize that the XOR slot order effectively encodes preference.
| Nested ``xor_slot`` resources are supported. When processing nested xor-slots, | ||
| the expansion produces all combinations of the xor branches, and each | ||
| combination is tried as a separate candidate jobspec. |
There was a problem hiding this comment.
Please add a phrase mentioning the need to limit the number of candidates, and the configuration option that sets the limit.
|
|
457d125 to
fae43f5
Compare
|
|
|
Tick the box to add this pull request to the merge queue (same as
|
Problem: RFC 14 does not define the flexible traverser alternative slot forms, leaving their representation and selection behavior unspecified. Document sibling or-slots and the xor_slot resource type, including their selection semantics, nesting, limits, and examples. Add xor_slot to the schema. Assisted-by: Claude:claude-opus-4.8
Problem: RFC 25 does not state whether V1 jobspec supports the alternative slot configurations defined by RFC 14. Clarify that V1 excludes sibling or-slots and xor_slot resources, and direct users to the canonical jobspec format. Assisted-by: Claude:claude-opus-4.8
fae43f5 to
7bccf1f
Compare
|
|
Add documentation for or-slots and xor-slots to RFC 14 and RFC 25.
RFC 14 (Canonical Jobspec)
slotdefinition to describe or-slot behavior (sibling slots as alternatives)xor_slotreserved resource type specificationxor_slottypeRFC 25 (Jobspec V1)
Or-slots use dynamic programming for optimal slot selection during traversal.
Xor-slots expand into distinct candidate jobspecs before traversal with first-match selection.
Both require the flexible traverser implementation.